Python Job: Software Engineer

Job added on

Job Skills

Location

Sidney - Australia

Job type

Full-Time

Python Job Details

  • Executive Level 1, Non-ongoing
  • $100,075 - $112,725 + 15.4% super
  • All State and Territory Offices will be considered

The Research Program of the Bureau of Meteorology is seeking an advanced software engineer with some computational science and / or data science and data engineering experience to be a key member of an innovative multi-disciplinary team with IT and science specialists which improves weather forecast guidance for operational forecast production staff. The focus of this work is on collaborative development, testing and documentation of weather model Ensemble Post Processing (EPP), including statistical analysis, science, software and systems. EPP bias-corrects, combines, downscales and produces weather event probabilities from different state-of-the-art numerical weather prediction guidance. The post-processed guidance supports communication of forecast uncertainty to users, and requires less editing by weather forecasters, allowing for a more efficient high-impact forecast process.

Core competencies include excellent software engineering ability, experience in developing complex scientific or engineering applications suitable for operational use, and a good grasp of computational algorithms and application to large data volumes. The focus of this position is on software engineering, but statistical analysis or machine learning knowledge and experience, including direct development of complex algorithms (and some library awareness), would be an advantage. Some background in mathematics, statistics or physical sciences is highly desirable. Experience and interest in scientific or engineering research and systems development is desirable.

The software used for EPP is written predominantly in Python with some shell scripting. It utilises third party scientific and data-handling libraries and is run on high performance Linux platforms. Operation of the applications is time-critical and will involve work-flow scheduling (EPP uses Cylc; examples elsewhere include Apache Airflow, Prefect), effective usage of parallel processing, memory and I/O on large high-performance computing systems. Experience in using configuration managers (e.g. Rose) would be an advantage. Use of modern tools and practices such as git, automated testing and deployment and code reviews is essential.

The position will also contribute to EPP science testing (evaluation and visualisation of gridded scientific fields) including through the specification and development of mostly python-based verification libraries, supporting transition to operations. You will collaboratively define, develop and support transition to operations processes, standards and capabilities including testing and deployment capabilities. You will also collaborate with: operational staff monitoring quality and execution of operational software, other Science and Innovation Group sections, areas of the Bureau managing data services, and others as appropriate.

Professional development opportunities relevant to the work will be available. This is a great opportunity to work on meaningful scientific software applications for the public good, in a research environment with a commitment to innovation and quality.

Position Description - PDF Opens in new window

Position Description - Word Opens in new window